From 4dc4ccc361bafba02cac2557ff4055be360ba83f Mon Sep 17 00:00:00 2001 From: robertl Date: Sun, 20 Jan 2008 22:29:19 +0000 Subject: [PATCH] Tom Hughes contributes support for Navilink devices. --- Makefile.in | 3 +- defs.h | 4 +- reference/navilink_tracks.gpx | 2084 ++++++++++++++++++++++++++ reference/navilink_tracks.trk | Bin 0 -> 11040 bytes reference/navilink_tracks_gpx.trk | Bin 0 -> 11040 bytes reference/navilink_waypoints.gpx | 74 + reference/navilink_waypoints.wpt | Bin 0 -> 256 bytes reference/navilink_waypoints_gpx.wpt | Bin 0 -> 256 bytes testo | 16 + util.c | 14 + vecs.c | 7 + xmldoc/formats/navilink.xml | 32 + 12 files changed, 2232 insertions(+), 2 deletions(-) create mode 100644 reference/navilink_tracks.gpx create mode 100755 reference/navilink_tracks.trk create mode 100755 reference/navilink_tracks_gpx.trk create mode 100644 reference/navilink_waypoints.gpx create mode 100755 reference/navilink_waypoints.wpt create mode 100644 reference/navilink_waypoints_gpx.wpt create mode 100644 xmldoc/formats/navilink.xml diff --git a/Makefile.in b/Makefile.in index 73ef3cec2..50bad3f6f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,7 +57,8 @@ ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o pcx.o cetus.o copilot.o \ ignrando.o stmwpp.o msroute.o cst.o nmn4.o mag_pdb.o compegps.o \ yahoo.o unicsv.o wfff_xml.o garmin_txt.o axim_gpb.o gpssim.o \ wbt-200.o stmsdf.o gtrnctr.o dmtlog.o raymarine.o alan.o vitovtt.o \ - ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o + ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o \ + navilink.o FMTS=@FMTS@ diff --git a/defs.h b/defs.h index 3ea48c5ed..d4be221f5 100644 --- a/defs.h +++ b/defs.h @@ -326,7 +326,7 @@ typedef struct { } wp_flags; #define WAYPT_SET(wpt,member,val) { wpt->member = (val); wpt->wpt_flags.member = 1; } -#define WAYPT_GET(wpt,member,def) (wpt->wpt_flags.member) ? (wpt->member) : (def) +#define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member) : (def)) #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) /* @@ -865,7 +865,9 @@ typedef struct { signed int be_read16(const void *p); signed int be_read32(const void *p); signed int le_read16(const void *p); +unsigned int le_readu16(const void *p); signed int le_read32(const void *p); +unsigned int le_readu32(const void *p); void le_read64(void *dest, const void *src); void be_write16(void *pp, const unsigned i); void be_write32(void *pp, const unsigned i); diff --git a/reference/navilink_tracks.gpx b/reference/navilink_tracks.gpx new file mode 100644 index 000000000..b910421b1 --- /dev/null +++ b/reference/navilink_tracks.gpx @@ -0,0 +1,2084 @@ + + + + + + + + 0.000000 + + 0.000000 + 0.000000 + + + 0.000000 + + 0.000000 + 0.000000 + + + 0.000000 + + 0.000000 + 0.000000 + + + 32.004000 + + 0.000000 + 0.000000 + + + 32.918400 + + 0.000000 + 0.000000 + + + 32.918400 + + 0.000000 + 0.000000 + + + 37.490400 + + 0.000000 + 0.000000 + + + 34.137600 + + 0.000000 + 0.000000 + + + 33.223200 + + 23.000000 + 0.555556 + + + 32.918400 + + 41.000000 + 1.111111 + + + 32.613600 + + 47.000000 + 1.666667 + + + 32.308800 + + 57.000000 + 1.666667 + + + 32.613600 + + 47.000000 + 1.666667 + + + 32.613600 + + 57.000000 + 1.666667 + + + 32.918400 + + 63.000000 + 1.666667 + + + 33.528000 + + 61.000000 + 1.666667 + + + 33.832800 + + 63.000000 + 1.666667 + + + 34.137600 + + 63.000000 + 1.666667 + + + 34.747200 + + 64.000000 + 1.666667 + + + 35.052000 + + 69.000000 + 1.666667 + + + 35.356800 + + 71.000000 + 1.666667 + + + 35.966400 + + 71.000000 + 1.666667 + + + 36.576000 + + 78.000000 + 1.666667 + + + 36.576000 + + 76.000000 + 0.000000 + + + 36.576000 + + 78.000000 + 1.666667 + + + 36.271200 + + 84.000000 + 1.666667 + + + 36.271200 + + 79.000000 + 1.666667 + + + 36.271200 + + 78.000000 + 1.666667 + + + 36.271200 + + 80.000000 + 1.666667 + + + 35.661600 + + 83.000000 + 1.666667 + + + 35.661600 + + 81.000000 + 1.666667 + + + 35.966400 + + 78.000000 + 1.666667 + + + 36.271200 + + 86.000000 + 1.666667 + + + 36.271200 + + 82.000000 + 0.000000 + + + 36.880800 + + 80.000000 + 1.666667 + + + 36.880800 + + 82.000000 + 1.666667 + + + 37.185600 + + 82.000000 + 1.666667 + + + 37.490400 + + 82.000000 + 1.666667 + + + 37.185600 + + 84.000000 + 1.666667 + + + 37.185600 + + 84.000000 + 1.666667 + + + 37.185600 + + 84.000000 + 1.666667 + + + 37.185600 + + 83.000000 + 1.666667 + + + 38.404800 + + 84.000000 + 1.666667 + + + 38.404800 + + 86.000000 + 1.666667 + + + 38.404800 + + 86.000000 + 1.666667 + + + 38.404800 + + 84.000000 + 1.666667 + + + 38.404800 + + 84.000000 + 1.666667 + + + 38.404800 + + 83.000000 + 1.666667 + + + 38.404800 + + 81.000000 + 1.666667 + + + 38.100000 + + 85.000000 + 1.666667 + + + 38.100000 + + 85.000000 + 1.666667 + + + 38.100000 + + 78.000000 + 1.666667 + + + 38.100000 + + 82.000000 + 1.666667 + + + 37.795200 + + 79.000000 + 1.666667 + + + 37.490400 + + 80.000000 + 1.666667 + + + 37.185600 + + 84.000000 + 1.666667 + + + 36.880800 + + 75.000000 + 1.666667 + + + 36.880800 + + 79.000000 + 1.666667 + + + 37.185600 + + 78.000000 + 1.666667 + + + 37.185600 + + 86.000000 + 0.000000 + + + 37.185600 + + 86.000000 + 0.000000 + + + 35.966400 + + 94.000000 + 1.666667 + + + 35.966400 + + 94.000000 + 0.000000 + + + 35.966400 + + 94.000000 + 0.000000 + + + 35.052000 + + 57.000000 + 1.666667 + + + 35.052000 + + 57.000000 + 0.000000 + + + 35.052000 + + 55.000000 + 1.111111 + + + 35.966400 + + 68.000000 + 1.666667 + + + 35.966400 + + 59.000000 + 1.111111 + + + 35.966400 + + 50.000000 + 1.111111 + + + 35.966400 + + 50.000000 + 0.000000 + + + 36.880800 + + 59.000000 + 1.666667 + + + 36.576000 + + 64.000000 + 1.666667 + + + 36.880800 + + 70.000000 + 1.111111 + + + 37.185600 + + 68.000000 + 0.555556 + + + 37.490400 + + 56.000000 + 1.111111 + + + 37.185600 + + 51.000000 + 1.111111 + + + 37.490400 + + 63.000000 + 1.666667 + + + 37.185600 + + 64.000000 + 1.666667 + + + 37.185600 + + 64.000000 + 0.000000 + + + 37.185600 + + 64.000000 + 0.000000 + + + 35.966400 + + 64.000000 + 0.000000 + + + 35.661600 + + 64.000000 + 0.000000 + + + 36.271200 + + 64.000000 + 0.000000 + + + 36.271200 + + 64.000000 + 0.000000 + + + 35.052000 + + 64.000000 + 0.000000 + + + 36.576000 + + 57.000000 + 1.111111 + + + 36.880800 + + 53.000000 + 1.111111 + + + 36.576000 + + 57.000000 + 1.666667 + + + 36.576000 + + 53.000000 + 1.666667 + + + 36.576000 + + 52.000000 + 1.666667 + + + 36.576000 + + 50.000000 + 1.666667 + + + 36.880800 + + 50.000000 + 1.111111 + + + 37.185600 + + 48.000000 + 1.111111 + + + 37.490400 + + 50.000000 + 1.666667 + + + 37.795200 + + 45.000000 + 1.666667 + + + 37.490400 + + 46.000000 + 1.666667 + + + 36.880800 + + 47.000000 + 1.666667 + + + 36.576000 + + 56.000000 + 0.000000 + + + 35.356800 + + 56.000000 + 0.000000 + + + 35.356800 + + 56.000000 + 0.000000 + + + 35.661600 + + 107.000000 + 0.555556 + + + 35.966400 + + 126.000000 + 1.111111 + + + 35.966400 + + 103.000000 + 1.111111 + + + 34.747200 + + 104.000000 + 1.111111 + + + 34.442400 + + 81.000000 + 1.666667 + + + 33.832800 + + 18.000000 + 1.666667 + + + 33.528000 + + 23.000000 + 1.666667 + + + 32.918400 + + 20.000000 + 1.111111 + + + 32.918400 + + 20.000000 + 0.000000 + + + 32.918400 + + 20.000000 + 0.000000 + + + 32.004000 + + 18.000000 + 1.111111 + + + 32.004000 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.394400 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.394400 + + 18.000000 + 0.000000 + + + 31.394400 + + 18.000000 + 0.000000 + + + 31.394400 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 31.699200 + + 18.000000 + 0.000000 + + + 29.565600 + + 18.000000 + 0.000000 + + + 33.223200 + + 15.000000 + 1.111111 + + + 32.308800 + + 16.000000 + 1.111111 + + + 32.308800 + + 16.000000 + 0.000000 + + + 32.308800 + + 16.000000 + 0.000000 + + + 34.442400 + + 17.000000 + 1.111111 + + + 34.747200 + + 14.000000 + 1.111111 + + + 35.052000 + + 16.000000 + 1.111111 + + + 34.747200 + + 18.000000 + 0.000000 + + + 34.747200 + + 18.000000 + 0.000000 + + + 32.918400 + + 38.000000 + 1.111111 + + + 32.918400 + + 61.000000 + 1.111111 + + + 32.308800 + + 62.000000 + 1.111111 + + + 32.004000 + + 40.000000 + 0.555556 + + + 37.490400 + + 0.000000 + 0.000000 + + + 38.709600 + + 0.000000 + 0.000000 + + + 39.928800 + + 0.000000 + 0.000000 + + + 39.319200 + + 0.000000 + 0.000000 + + + 37.490400 + + 0.000000 + 0.000000 + + + 38.100000 + + 0.000000 + 0.000000 + + + 41.148000 + + 0.000000 + 0.000000 + + + 42.062400 + + 0.000000 + 0.000000 + + + 43.586400 + + 0.000000 + 0.000000 + + + 45.110400 + + 0.000000 + 0.000000 + + + 45.110400 + + 0.000000 + 0.000000 + + + 45.110400 + + 0.000000 + 0.000000 + + + 44.805600 + + 0.000000 + 0.000000 + + + 43.586400 + + 0.000000 + 0.000000 + + + 42.976800 + + 0.000000 + 0.000000 + + + 42.062400 + + 35.000000 + 1.111111 + + + 42.367200 + + 28.000000 + 1.111111 + + + 42.672000 + + 16.000000 + 1.666667 + + + 42.367200 + + 17.000000 + 1.666667 + + + 41.452800 + + 21.000000 + 1.666667 + + + 41.757600 + + 22.000000 + 1.666667 + + + 41.757600 + + 29.000000 + 1.666667 + + + 41.452800 + + 34.000000 + 1.666667 + + + 41.148000 + + 36.000000 + 0.000000 + + + 40.843200 + + 65.000000 + 1.666667 + + + 41.148000 + + 65.000000 + 1.666667 + + + 40.843200 + + 68.000000 + 1.666667 + + + 40.843200 + + 71.000000 + 1.666667 + + + 40.843200 + + 78.000000 + 1.666667 + + + 41.148000 + + 80.000000 + 1.111111 + + + 41.452800 + + 82.000000 + 1.666667 + + + 41.452800 + + 85.000000 + 1.666667 + + + 41.148000 + + 53.000000 + 1.111111 + + + 41.148000 + + 37.000000 + 1.666667 + + + 40.538400 + + 5.000000 + 1.666667 + + + 40.538400 + + 4.000000 + 1.666667 + + + 41.452800 + + 288.000000 + 1.111111 + + + 41.452800 + + 290.000000 + 1.111111 + + + 41.757600 + + 279.000000 + 0.000000 + + + 42.062400 + + 279.000000 + 0.000000 + + + 42.367200 + + 295.000000 + 0.555556 + + + 42.672000 + + 299.000000 + 1.111111 + + + 42.672000 + + 300.000000 + 1.111111 + + + 43.281600 + + 308.000000 + 1.666667 + + + 43.281600 + + 308.000000 + 1.666667 + + + 43.586400 + + 316.000000 + 1.666667 + + + 43.586400 + + 323.000000 + 1.666667 + + + 43.281600 + + 327.000000 + 1.666667 + + + 43.281600 + + 320.000000 + 1.666667 + + + 43.586400 + + 327.000000 + 1.666667 + + + 43.586400 + + 331.000000 + 1.666667 + + + 43.891200 + + 324.000000 + 1.666667 + + + 44.196000 + + 327.000000 + 1.666667 + + + 44.500800 + + 342.000000 + 1.666667 + + + 44.196000 + + 353.000000 + 1.666667 + + + 44.196000 + + 3.000000 + 1.666667 + + + 43.281600 + + 15.000000 + 1.666667 + + + 42.672000 + + 19.000000 + 1.666667 + + + 42.062400 + + 20.000000 + 1.111111 + + + 42.062400 + + 20.000000 + 1.666667 + + + 41.757600 + + 25.000000 + 0.000000 + + + 41.757600 + + 26.000000 + 1.111111 + + + 42.062400 + + 26.000000 + 1.111111 + + + 42.367200 + + 29.000000 + 1.111111 + + + 42.062400 + + 23.000000 + 1.111111 + + + 42.367200 + + 22.000000 + 1.111111 + + + 42.062400 + + 22.000000 + 1.111111 + + + 41.148000 + + 29.000000 + 1.111111 + + + 40.233600 + + 29.000000 + 1.111111 + + + 40.233600 + + 29.000000 + 1.111111 + + + 40.233600 + + 21.000000 + 1.111111 + + + 40.538400 + + 23.000000 + 1.111111 + + + 40.843200 + + 23.000000 + 1.111111 + + + 41.452800 + + 27.000000 + 1.111111 + + + 40.843200 + + 27.000000 + 1.111111 + + + 39.319200 + + 30.000000 + 1.111111 + + + 38.709600 + + 31.000000 + 1.666667 + + + 38.100000 + + 40.000000 + 1.666667 + + + 37.795200 + + 45.000000 + 1.666667 + + + 36.880800 + + 64.000000 + 1.666667 + + + 36.880800 + + 73.000000 + 1.666667 + + + 37.795200 + + 77.000000 + 1.666667 + + + 38.100000 + + 77.000000 + 1.666667 + + + 38.709600 + + 74.000000 + 1.666667 + + + 37.490400 + + 69.000000 + 1.666667 + + + 37.185600 + + 69.000000 + 1.666667 + + + 36.576000 + + 56.000000 + 1.666667 + + + 36.271200 + + 58.000000 + 1.666667 + + + 35.966400 + + 48.000000 + 1.666667 + + + 35.966400 + + 49.000000 + 1.666667 + + + 35.356800 + + 32.000000 + 1.666667 + + + 35.052000 + + 34.000000 + 1.111111 + + + 35.356800 + + 24.000000 + 1.666667 + + + 35.052000 + + 20.000000 + 1.666667 + + + 34.747200 + + 17.000000 + 1.666667 + + + 35.356800 + + 13.000000 + 1.666667 + + + 36.271200 + + 359.000000 + 1.666667 + + + 36.576000 + + 1.000000 + 1.666667 + + + 37.795200 + + 357.000000 + 1.666667 + + + 38.404800 + + 353.000000 + 1.666667 + + + 38.404800 + + 353.000000 + 1.666667 + + + 38.100000 + + 0.000000 + 1.666667 + + + 38.100000 + + 10.000000 + 1.666667 + + + 37.795200 + + 92.000000 + 1.111111 + + + 37.795200 + + 46.000000 + 1.111111 + + + 38.404800 + + 186.000000 + 0.000000 + + + 38.709600 + + 186.000000 + 0.000000 + + + 38.709600 + + 186.000000 + 0.000000 + + + 38.709600 + + 186.000000 + 0.000000 + + + 37.490400 + + 186.000000 + 0.000000 + + + 36.576000 + + 186.000000 + 0.000000 + + + 33.832800 + + 186.000000 + 0.000000 + + + 33.528000 + + 186.000000 + 0.000000 + + + 33.223200 + + 326.000000 + 0.000000 + + + 34.137600 + + 309.000000 + 1.111111 + + + 34.137600 + + 312.000000 + 0.000000 + + + 33.832800 + + 29.000000 + 1.666667 + + + 33.832800 + + 29.000000 + 0.000000 + + + 33.223200 + + 64.000000 + 1.666667 + + + 33.223200 + + 68.000000 + 1.666667 + + + 33.528000 + + 59.000000 + 1.111111 + + + 33.528000 + + 59.000000 + 1.666667 + + + 34.442400 + + 61.000000 + 1.666667 + + + 34.747200 + + 60.000000 + 1.666667 + + + 35.661600 + + 64.000000 + 1.666667 + + + 35.661600 + + 66.000000 + 1.666667 + + + 36.880800 + + 69.000000 + 1.666667 + + + 37.490400 + + 74.000000 + 1.666667 + + + 39.014400 + + 66.000000 + 1.666667 + + + 39.624000 + + 67.000000 + 1.666667 + + + 39.624000 + + 67.000000 + 0.000000 + + + 41.452800 + + 58.000000 + 1.666667 + + + 41.148000 + + 46.000000 + 1.666667 + + + 40.538400 + + 45.000000 + 1.666667 + + + 40.538400 + + 44.000000 + 1.666667 + + + 39.624000 + + 40.000000 + 1.666667 + + + 39.319200 + + 43.000000 + 1.666667 + + + 38.100000 + + 42.000000 + 1.666667 + + + 37.795200 + + 46.000000 + 1.666667 + + + 37.490400 + + 19.000000 + 1.666667 + + + 37.795200 + + 13.000000 + 1.666667 + + + 38.404800 + + 11.000000 + 1.666667 + + + 38.404800 + + 15.000000 + 1.666667 + + + 38.100000 + + 48.000000 + 1.111111 + + + 38.100000 + + 36.000000 + 1.111111 + + + 38.404800 + + 24.000000 + 1.111111 + + + 39.014400 + + 20.000000 + 1.111111 + + + 39.319200 + + 20.000000 + 1.111111 + + + 39.928800 + + 20.000000 + 0.000000 + + + 40.538400 + + 36.000000 + 1.111111 + + + 40.538400 + + 44.000000 + 1.666667 + + + 40.538400 + + 43.000000 + 1.111111 + + + 40.233600 + + 48.000000 + 1.666667 + + + 39.928800 + + 51.000000 + 1.111111 + + + 39.624000 + + 47.000000 + 1.666667 + + + 39.624000 + + 48.000000 + 1.666667 + + + 39.014400 + + 49.000000 + 1.666667 + + + 39.014400 + + 48.000000 + 1.666667 + + + 38.100000 + + 48.000000 + 1.666667 + + + 37.795200 + + 45.000000 + 1.666667 + + + 37.490400 + + 46.000000 + 1.666667 + + + 37.185600 + + 52.000000 + 1.666667 + + + 37.185600 + + 54.000000 + 1.666667 + + + 36.576000 + + 54.000000 + 1.111111 + + + 36.576000 + + 58.000000 + 1.666667 + + + 36.880800 + + 51.000000 + 1.666667 + + + 36.880800 + + 55.000000 + 1.666667 + + + 36.576000 + + 56.000000 + 1.666667 + + + 36.271200 + + 54.000000 + 1.666667 + + + 36.880800 + + 55.000000 + 1.666667 + + + 36.880800 + + 51.000000 + 1.666667 + + + 35.966400 + + 56.000000 + 1.666667 + + + 35.661600 + + 60.000000 + 1.666667 + + + 35.661600 + + 55.000000 + 1.666667 + + + 35.356800 + + 55.000000 + 1.666667 + + + 35.661600 + + 61.000000 + 1.666667 + + + 36.271200 + + 62.000000 + 1.666667 + + + 36.271200 + + 59.000000 + 1.666667 + + + 36.576000 + + 60.000000 + 1.666667 + + + 37.185600 + + 57.000000 + 1.666667 + + + 39.319200 + + 60.000000 + 1.111111 + + + 39.624000 + + 61.000000 + 1.111111 + + + 39.928800 + + 55.000000 + 1.666667 + + + 39.928800 + + 59.000000 + 1.666667 + + + 39.624000 + + 54.000000 + 1.111111 + + + 39.319200 + + 56.000000 + 1.111111 + + + 38.404800 + + 62.000000 + 1.666667 + + + 37.795200 + + 61.000000 + 1.111111 + + + 36.576000 + + 35.000000 + 1.666667 + + + 35.966400 + + 11.000000 + 1.666667 + + + 35.966400 + + 346.000000 + 1.666667 + + + 36.880800 + + 341.000000 + 1.666667 + + + 37.490400 + + 334.000000 + 1.666667 + + + 38.709600 + + 335.000000 + 1.666667 + + + 39.014400 + + 335.000000 + 1.111111 + + + 39.624000 + + 349.000000 + 1.111111 + + + 39.928800 + + 11.000000 + 1.666667 + + + 41.452800 + + 2.000000 + 1.666667 + + + 42.062400 + + 5.000000 + 1.666667 + + + 42.672000 + + 1.000000 + 1.666667 + + + 42.672000 + + 354.000000 + 1.666667 + + + 42.976800 + + 348.000000 + 1.666667 + + + 42.976800 + + 175.000000 + 1.111111 + + + 43.586400 + + 45.000000 + 0.555556 + + + + diff --git a/reference/navilink_tracks.trk b/reference/navilink_tracks.trk new file mode 100755 index 0000000000000000000000000000000000000000..13ba97ffa0695831830a95b0105bcf6174938f77 GIT binary patch literal 11040 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 literal 0 HcmV?d00001 diff --git a/reference/navilink_tracks_gpx.trk b/reference/navilink_tracks_gpx.trk new file mode 100755 index 0000000000000000000000000000000000000000..e03359d89d15029917642617f41a7dae8cb00bd4 GIT binary patch literal 11040 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νI8yHDYM*Us<%WZ8eqTFGh}eggjvPir5<%l=!=N)kVf@0w=oCvbOt zOqTt(yp^IJCjL8o+{27dzRUibZq-#Y@bB?W(``MdL(qQteMwtY)GYi*{QeoXo^os8 zlD`$K(rPw-9&bL=)<5H3{qlZR(JGdS$P`C4XyJ_0&>44i7y>|Md>~Px3dL_-FBW zd@!EfCveH%n)q_OFn;@d_OE`y_(}fOB7a`MlkiFlIREz#=9lDeZRYQbcnE(4-;cZd zOS0_0b*zT!6+8uB{J5=O8{nV6k|lrZT8-7Kcv1W`-sz6OC4cMTui>fqrYBe*2m1R{ zvh2V0Ssz}a=t3(NVr1^d%hygJ_G8C#ba7sRKU^HWQ!rP_{X z<0tVQ*TrYz z7jgIhH(}X-+YtXH-T;66S=P5n{`wG>{kJXcKY%yHPvFBQ`}q@={B6hgAHtj9JD=ly zV5*;=Vaeb2wEr;P6fgU{t%ptvT=w5v82_VqGyF0>d3sR3+ za{s-R{yT-Yz>nd5X8G%5Sn{_c?f(XEiC0)*>(FdJ|H5+r?POI}XYkf|;TPziIYIwP z{_?t_zQfz%m+*V$2J=Vqw~IBvGTs4Cf9Y>t*NkshtB+;M?}QI{nfXQe?)@$-`PYAbpF#NG2lSkBKq zt%24_ydS=6mD@k=`5`R#-(Gy5@&5Rr*K9qX{&Rmn2uuFnX2nSV4#Hc%?w0Sq|D{O& z_O{~12jhqE?$qzTKcqm6zTeR%3xTif}bWcIh)S$|FcjKjOXW$W40@4k + + + + + 67.970400 + + M000 + M000 + M000 + Star + + + 67.970400 + + M000 + M000 + M000 + Star + + + 0.000000 + + M001 + M001 + M001 + Star + + + 0.000000 + + M001 + M001 + M001 + Star + + + 36.271200 + + M002 + M002 + M002 + Star + + + 36.271200 + + M002 + M002 + M002 + Star + + + 35.356800 + + SUBWAY + SUBWAY + SUBWAY + Star + + + 35.356800 + + SUBWAY + SUBWAY + SUBWAY + Star + + diff --git a/reference/navilink_waypoints.wpt b/reference/navilink_waypoints.wpt new file mode 100755 index 0000000000000000000000000000000000000000..0dd8f06dccc80daf55d26c8a069ea8a08aa65017 GIT binary patch literal 256 zcmZQ@U|{eyFfd>Mg4wRO<&35=Fx+Qg=alAERRapuF*vYbljmXMg4wRO<&35=Fx+Qg=alAERRapuF<_VHVisgEMUpoJvKfSe@5q^K z2eH^WW%+cOfDD*^ba{0BMj%}~uHTe1*!=H*IRiTvvj7XoO)&kK@<{dvhdPBjMlvuk XJ-R8UbnM^%60m-D9+-Zt@=*N%8o)D! literal 0 HcmV?d00001 diff --git a/testo b/testo index 8f0d1914a..a38a9cd03 100755 --- a/testo +++ b/testo @@ -1269,5 +1269,21 @@ compare ${TMPDIR}/xol-sample.gpx ${REFERENCE}/xol-sample.gpx ${PNAME} -i gpx -f ${REFERENCE}/xol-sample.gpx -o xol -F ${TMPDIR}/xol-sample-gpx.xol compare ${TMPDIR}/xol-sample-gpx.xol ${REFERENCE}/xol-sample-gpx.xol +# +# NaviLink waypoints +# +${PNAME} -i navilink -f ${REFERENCE}/navilink_waypoints.wpt -o gpx -F ${TMPDIR}/navilink_waypoints.gpx +compare ${TMPDIR}/navilink_waypoints.gpx ${REFERENCE}/navilink_waypoints.gpx +${PNAME} -i gpx -f ${TMPDIR}/navilink_waypoints.gpx -o navilink -F ${TMPDIR}/navilink_waypoints_gpx.wpt +compare ${TMPDIR}/navilink_waypoints_gpx.wpt ${REFERENCE}/navilink_waypoints_gpx.wpt + +# +# NaviLink tracks +# +${PNAME} -t -i navilink -f ${REFERENCE}/navilink_tracks.trk -o gpx -F ${TMPDIR}/navilink_tracks.gpx +compare ${TMPDIR}/navilink_tracks.gpx ${REFERENCE}/navilink_tracks.gpx +${PNAME} -t -i gpx -f ${TMPDIR}/navilink_tracks.gpx -o navilink -F ${TMPDIR}/navilink_tracks_gpx.trk +compare ${TMPDIR}/navilink_tracks_gpx.trk ${REFERENCE}/navilink_tracks_gpx.trk + exit 0 diff --git a/util.c b/util.c index a6f89c2b3..51a7e3271 100644 --- a/util.c +++ b/util.c @@ -693,6 +693,13 @@ le_read16(const void *addr) return p[0] | (p[1] << 8); } +unsigned int +le_readu16(const void *addr) +{ + const unsigned char *p = addr; + return p[0] | (p[1] << 8); +} + signed int le_read32(const void *addr) { @@ -700,6 +707,13 @@ le_read32(const void *addr) return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); } +unsigned int +le_readu32(const void *addr) +{ + const unsigned char *p = addr; + return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); +} + /* * Read a little-endian 64-bit value from 'src' and return it in 'dest' * in host endianness. diff --git a/vecs.c b/vecs.c index 030d1cfb8..333bd263b 100644 --- a/vecs.c +++ b/vecs.c @@ -127,6 +127,7 @@ extern ff_vecs_t garmin_gpi_vecs; extern ff_vecs_t lmx_vecs; extern ff_vecs_t random_vecs; extern ff_vecs_t xol_vecs; +extern ff_vecs_t navilink_vecs; static vecs_t vec_list[] = { @@ -704,6 +705,12 @@ vecs_t vec_list[] = { "GlobalSat DG-100/BT-335 Download", NULL }, + { + &navilink_vecs, + "navilink", + "NaviGPS GT-11/BGT-11 Download", + NULL + }, #endif // MAXIMAL_ENABLED { NULL, diff --git a/xmldoc/formats/navilink.xml b/xmldoc/formats/navilink.xml new file mode 100644 index 000000000..fadfd8154 --- /dev/null +++ b/xmldoc/formats/navilink.xml @@ -0,0 +1,32 @@ + + GPSBabel supports the Navilink protocol used by the + Locosys GT-11 + GPS receivers. These are sold under a variety of names including: + + NaviGPS + NaviGPS-BT + GT-11 + BGT-11 + Amaryllo + + + + This format is used for both the serial protocol used on + the USB link and for the files which can be copied from the + internal memory to the SD card using recent firmware versions. + + + If you specify a serial port for the file (.e.g. "COM1", "/dev/ttyUSB0") + to be read or written, GPSBabel will use the serial protocol. Specifying + a file, either on local filesystem or on a mounted flash card reader, + will results in the file-based format being used. + + + To access the device using the serial protocol over USB the + device needs to be in Navilink mode, which can be activated + from the main menu of the device. + + + Details of the Navilink serial protocol can be found + here. + -- 2.30.2